<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>回顾Object.defineproperty方法</title>
</head>
<body>
<script type="text/javascript">
  let person ={
    name:"李四",
    sex:"男",
    // age:20
  }

  //通过Object.defineProperty方法动态设置属性赋值，不可遍历设置的属性
  Object.defineProperty(person,"age",{
    value:20,
    enumerable:true,//控制属性是否可被枚举，默认是false是无法被枚举
    writable:true,//控制属性的值是否可被修改，默认是false是无法被修改的
    configurable:true//控制属性是否可以被删除，默认是false是无法被删除的

  })

  //直接在对象初始化时设置属性赋值可以遍历所有属性
  //遍历方法1：
  // for (key in person){
  //   console.log('@'+person[key])
  // }

  console.log(Object.keys(person))


</script>
</body>
</html>